package com.jdy.haoduoaiteacher.view;//package com.jdy.haoduoaiteacher.view;
//
//import android.content.Context;
//import android.graphics.Bitmap;
//import android.graphics.Bitmap.Config;
//import android.graphics.Canvas;
//import android.graphics.Color;
//import android.graphics.LinearGradient;
//import android.graphics.Paint;
//import android.graphics.Path;
//import android.graphics.Rect;
//import android.graphics.Shader;
//import android.graphics.Shader.TileMode;
//import android.graphics.drawable.BitmapDrawable;
//import android.graphics.drawable.Drawable;
//import android.util.AttributeSet;
//import android.widget.ImageView;
//
//public class BookImageView extends ImageView {
//
//  public BookImageView(Context context) {
//    this(context, null);
//    // TODO Auto-generated constructor stub
//  }
//
//  public BookImageView(Context context, AttributeSet attrs) {
//    this(context, attrs, 0);
//  }
//
//  public BookImageView(Context context, AttributeSet attrs, int defStyle) {
//    super(context, attrs, defStyle);
//  }
//
//  @Override
//  protected void onDraw(Canvas canvas) {
//
//    Drawable drawable = getDrawable();
//
//    if (drawable == null) {
//      return;
//    }
//
//    if (getWidth() == 0 || getHeight() == 0) {
//      return;
//    }
//    Bitmap b = null;
//    if (drawable instanceof BitmapDrawable) {
//      b = ((BitmapDrawable) drawable).getBitmap();
//    }
//
//    if (b != null) {
//      Bitmap bitmap = Bitmap.createScaledBitmap(b, getWidth(), getHeight(),
//          true);
//      Bitmap roundBitmap = getCroppedBitmap(bitmap);
//      canvas.drawBitmap(roundBitmap, 0, 0, null);
//    }   
//  }
//
//  public Bitmap getCroppedBitmap(Bitmap bmp) {
//
//    int thickness = 10;
//
//    int shadowOffset = 3;
//
//    int w = bmp.getWidth();
//
//    int h = bmp.getHeight();
//
//    int newW = w - (thickness);
//
//    int newH = h - (thickness);
//
//    Bitmap output = Bitmap.createBitmap(w, h, Config.ARGB_8888);
//    Canvas canvas = new Canvas(output);
//    final Paint paint = new Paint();
//    final Rect rect = new Rect(0, 0, w - thickness, h - thickness);
//    // final RectF rectF = new RectF(rect);
//
//    // paint.setShadowLayer(10f, 0.0f, 4.0f, Color.BLACK);
//    paint.setAntiAlias(true);
//    // paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));
//    canvas.drawBitmap(bmp, rect, rect, paint);
//
//    int leftWidth = w / 5;
//    // Left
//    Shader lshader = new LinearGradient(0, 0, leftWidth, 0, Color.argb(155, 0,
//        0, 0), Color.argb(0, 107, 107, 107), TileMode.CLAMP);
//    paint.setShader(lshader);
//    canvas.drawRect(0, 0, leftWidth, newH, paint);
//
//    // Path bookShadowPath = new Path();
//    // bookShadowPath.lineTo(0, newH);
//    // bookShadowPath.lineTo(newW, newH);
//    // bookShadowPath.lineTo(newW, 0);
//    // bookShadowPath.lineTo(w, 0);
//    // bookShadowPath.lineTo(w, h);
//    // bookShadowPath.lineTo(0, h);
//    // bookShadowPath.lineTo(0, newH);
//    // Shader slopeShader = new LinearGradient(newW, newH, w, h, Color.argb(255,
//    // 0, 0, 0), Color.argb(10, 107, 107, 107), TileMode.CLAMP);
//    // paint.setShader(slopeShader);
//    // canvas.drawPath(bookShadowPath, paint);
//
//    // Right
//    Shader rshader = new LinearGradient(newW, 0, w, 0, Color.argb(83, 53, 53,
//        53), Color.argb(83, 53, 53, 53), TileMode.CLAMP);
//    paint.setShader(rshader);
//    Path rightPath = new Path();
//    rightPath.lineTo(newW, 0);
//    rightPath.lineTo(w, shadowOffset);
//    rightPath.lineTo(w, h);
//    rightPath.lineTo(newW, newH);
//    rightPath.lineTo(newW, 0);
//    canvas.drawPath(rightPath, paint);
//
//    // Bottom
//    Shader bshader = new LinearGradient(0, newH, 0, h, Color.argb(83, 53, 53,
//        53), Color.argb(83, 53, 53, 53), TileMode.CLAMP);
//    paint.setShader(bshader);
//    Path bottomPath = new Path();
//    bottomPath.lineTo(shadowOffset, newH);
//    bottomPath.lineTo(newW, newH);
//    bottomPath.lineTo(w, h);
//    bottomPath.lineTo(shadowOffset + thickness, h);
//    bottomPath.lineTo(shadowOffset, newH);
//    canvas.drawPath(bottomPath, paint);
//
//    // Corner
//    // Shader cchader = new LinearGradient(newW, newH, w, h, Color.argb(255, 0,
//    // 0,
//    // 0), Color.argb(10, 107, 107, 107), Shader.TileMode.CLAMP);
//    // paint.setShader(cchader);
//    // canvas.drawRect(newW, newH, w, h, paint);
//
//    return output;
//  }
// }
